{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "amended-composer",
   "metadata": {},
   "source": [
    "框架\n",
    "\n",
    "    一、导入数据\n",
    "    二、原始序列的检验\n",
    "    三、一阶差分序列的检验\n",
    "    四、定阶（参数调优)\n",
    "    五、建模与预测\n",
    "    \n",
    "    参考材料：《Python数据分析与挖掘实践》"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "quarterly-measurement",
   "metadata": {},
   "source": [
    "## 工具准备"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "short-partner",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import json\n",
    "import itertools\n",
    "\n",
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_interactivity = \"all\"\n",
    "\n",
    "from matplotlib.pylab import style #自定义图表风格\n",
    "style.use('ggplot')\n",
    "\n",
    "# 解决中文乱码问题\n",
    "plt.rcParams['font.sans-serif'] = ['Simhei']\n",
    "# 解决坐标轴刻度负号乱码\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "\n",
    "#pip install statsmodels\n",
    "from statsmodels.graphics.tsaplots import plot_acf,plot_pacf  #自相关图、偏自相关图\n",
    "from statsmodels.tsa.stattools import adfuller as ADF #平稳性检验\n",
    "from statsmodels.stats.diagnostic import acorr_ljungbox #白噪声检验\n",
    "import statsmodels.api as sm #D-W检验,一阶自相关检验\n",
    "from statsmodels.graphics.api import qqplot #画QQ图,检验一组数据是否服从正态分布\n",
    "from statsmodels.tsa.arima.model import ARIMA"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "chicken-metabolism",
   "metadata": {},
   "source": [
    "## 导入数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "liquid-listening",
   "metadata": {},
   "outputs": [],
   "source": [
    "with open('../saleByTopFromSeries.json','r',encoding='utf-8') as f:\n",
    "    listRS = json.load(f)\n",
    "index = 6\n",
    "pyearAndMonth = listRS[index][\"yearAndMonth\"]\n",
    "yearAndMonth = pyearAndMonth[:42]\n",
    "psalesData= listRS[index][\"salesData\"]\n",
    "salesData = psalesData[:42]\n",
    "series = listRS[index][\"series\"]\n",
    "seriesId = listRS[index][\"seriesId\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "mounted-bearing",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 创建字典对象\n",
    "pdata = {\"date\":pyearAndMonth,\"sale\":psalesData}\n",
    "\n",
    "# 创建dataframe\n",
    "psale = pd.DataFrame(pdata)\n",
    "\n",
    "# # 转换日期数据类型\n",
    "# index = pd.DatetimeIndex(yearAndMonth)\n",
    "\n",
    "# 将日期设置索引值\n",
    "psale.set_index(['date'],inplace=True)\n",
    "\n",
    "# 转换销售量数据类型\n",
    "psale.sale=psale.sale.astype('float')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "decreased-retreat",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "42"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 历史数据长度\n",
    "g_datalen = len(salesData)\n",
    "    \n",
    "\n",
    "g_datalen"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "sonic-breakdown",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Index: 42 entries, 2017/10 to 2021/3\n",
      "Data columns (total 1 columns):\n",
      " #   Column  Non-Null Count  Dtype  \n",
      "---  ------  --------------  -----  \n",
      " 0   sale    42 non-null     float64\n",
      "dtypes: float64(1)\n",
      "memory usage: 672.0+ bytes\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sale</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2017/10</th>\n",
       "      <td>0.88</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017/11</th>\n",
       "      <td>0.78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017/12</th>\n",
       "      <td>0.59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018/1</th>\n",
       "      <td>0.93</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018/2</th>\n",
       "      <td>0.47</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         sale\n",
       "date         \n",
       "2017/10  0.88\n",
       "2017/11  0.78\n",
       "2017/12  0.59\n",
       "2018/1   0.93\n",
       "2018/2   0.47"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 创建字典对象\n",
    "data = {\"date\":yearAndMonth,\"sale\":salesData}\n",
    "\n",
    "# 创建dataframe\n",
    "sale = pd.DataFrame(data)\n",
    "\n",
    "# # 转换日期数据类型\n",
    "# index = pd.DatetimeIndex(yearAndMonth)\n",
    "\n",
    "# 将日期设置索引值\n",
    "sale.set_index(['date'],inplace=True)\n",
    "\n",
    "# 转换销售量数据类型\n",
    "sale.sale=sale.sale.astype('float')\n",
    "\n",
    "primitiveSale = sale\n",
    "\n",
    "# 查看数据信息|\n",
    "sale.info()\n",
    "sale.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "searching-assistant",
   "metadata": {},
   "source": [
    "## 原始序列的检验"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "asian-poison",
   "metadata": {},
   "source": [
    "#### 单位根检验，满足该条件，则拒绝原假设（非平稳序列），说明是平稳序列\n",
    "ADF(sale.sale)[1]<0.05\n",
    "#### 白噪声检验，满足该条件，则拒绝原假设（纯随机序列），说明是非白噪声\n",
    "acorr_ljungbox(sale,lags=1)['lb_pvalue'].values[0]<0.05\n",
    "#### 进行差分运算\n",
    "sale=sale.diff(periods=1, axis=0).dropna()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "separate-chase",
   "metadata": {},
   "outputs": [],
   "source": [
    "# d = 0\n",
    "# while(True):\n",
    "#     print(\"---------------------第{}次计算---------------------:\\n\".format(str(d+1)),\n",
    "#           \"单位根检验：\",ADF(sale.sale),\"\\n白噪声检验：\",acorr_ljungbox(sale,lags=1))\n",
    "#     if (Av  DF(sale.sale)[1]<0.05) and (acorr_ljungbox(sale,lags=1)['lb_pvalue'].values[0]<0.05):\n",
    "#         break\n",
    "#     else:\n",
    "#         d = d+1\n",
    "#         sale=sale.diff(periods=1, axis=0).dropna()\n",
    "# print(\"\\n经历了{}阶差分\".format(str(d)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "descending-secondary",
   "metadata": {},
   "outputs": [],
   "source": [
    "# plot_acf(sale,lags=g_datalen-1-d).show()\n",
    "# plot_pacf(sale,lags=g_datalen/2-1-d).show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "union-television",
   "metadata": {},
   "source": [
    "## 建模及预测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "knowing-moisture",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(0, 0, 0)x(0, 0, 0, 12) - AIC:79.61911802313749\n",
      "ARIMA(0, 0, 0)x(0, 0, 1, 12) - AIC:1312.0145933423664\n",
      "ARIMA(0, 0, 0)x(0, 1, 0, 12) - AIC:3.3490862896935094\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(0, 0, 0)x(0, 1, 1, 12) - AIC:1.2821506903687316\n",
      "ARIMA(0, 0, 0)x(1, 0, 0, 12) - AIC:4.464076027070646\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(0, 0, 0)x(1, 0, 1, 12) - AIC:1210.1017643842663\n",
      "ARIMA(0, 0, 0)x(1, 1, 0, 12) - AIC:0.8529452463195026\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(0, 0, 0)x(1, 1, 1, 12) - AIC:2.7887281378400344\n",
      "ARIMA(0, 0, 1)x(0, 0, 0, 12) - AIC:51.97545649532495\n",
      "ARIMA(0, 0, 1)x(0, 0, 1, 12) - AIC:1331.2447295781292\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(0, 0, 1)x(0, 1, 0, 12) - AIC:-15.603573844963055\n",
      "ARIMA(0, 0, 1)x(0, 1, 1, 12) - AIC:-6.483500030400673\n",
      "ARIMA(0, 0, 1)x(1, 0, 0, 12) - AIC:-16.102050903858515"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "ARIMA(0, 0, 1)x(1, 0, 1, 12) - AIC:1362.2919444160348\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(0, 0, 1)x(1, 1, 0, 12) - AIC:-7.586200350496162\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(0, 0, 1)x(1, 1, 1, 12) - AIC:-3.5224704643992677\n",
      "ARIMA(0, 1, 0)x(0, 0, 0, 12) - AIC:4.6994371085221776\n",
      "ARIMA(0, 1, 0)x(0, 0, 1, 12) - AIC:1150.535979513693\n",
      "ARIMA(0, 1, 0)x(0, 1, 0, 12) - AIC:-1.8595904622572972"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "ARIMA(0, 1, 0)x(0, 1, 1, 12) - AIC:-2.938773917426202\n",
      "ARIMA(0, 1, 0)x(1, 0, 0, 12) - AIC:-4.509598951117434\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(0, 1, 0)x(1, 0, 1, 12) - AIC:1173.2142624902447\n",
      "ARIMA(0, 1, 0)x(1, 1, 0, 12) - AIC:-5.6106088309123585\n",
      "ARIMA(0, 1, 0)x(1, 1, 1, 12) - AIC:-3.591666667573172\n",
      "ARIMA(0, 1, 1)x(0, 0, 0, 12) - AIC:-11.04298692395966\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(0, 1, 1)x(0, 0, 1, 12) - AIC:1087.4398233039572\n",
      "ARIMA(0, 1, 1)x(0, 1, 0, 12) - AIC:-6.115178954543348\n",
      "ARIMA(0, 1, 1)x(0, 1, 1, 12) - AIC:-0.6722750108430393\n",
      "ARIMA(0, 1, 1)x(1, 0, 0, 12) - AIC:-5.541570065239798\n",
      "ARIMA(0, 1, 1)x(1, 0, 1, 12) - AIC:1078.0053692308704"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "ARIMA(0, 1, 1)x(1, 1, 0, 12) - AIC:-3.9604479892453277\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(0, 1, 1)x(1, 1, 1, 12) - AIC:-0.9944666250282879\n",
      "ARIMA(1, 0, 0)x(0, 0, 0, 12) - AIC:3.7381994372688387\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(1, 0, 0)x(0, 0, 1, 12) - AIC:1177.507671832695\n",
      "ARIMA(1, 0, 0)x(0, 1, 0, 12) - AIC:-6.739576919828936\n",
      "ARIMA(1, 0, 0)x(0, 1, 1, 12) - AIC:-5.5622330053254\n",
      "ARIMA(1, 0, 0)x(1, 0, 0, 12) - AIC:-5.965951378370471"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "ARIMA(1, 0, 0)x(1, 0, 1, 12) - AIC:1209.5879619701795\n",
      "ARIMA(1, 0, 0)x(1, 1, 0, 12) - AIC:-7.084597275130012\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(1, 0, 0)x(1, 1, 1, 12) - AIC:-5.605027440428559\n",
      "ARIMA(1, 0, 1)x(0, 0, 0, 12) - AIC:-9.458605465059645\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(1, 0, 1)x(0, 0, 1, 12) - AIC:1174.3223025540276\n",
      "ARIMA(1, 0, 1)x(0, 1, 0, 12) - AIC:-15.796077933072759\n",
      "ARIMA(1, 0, 1)x(0, 1, 1, 12) - AIC:-5.3068439978459505\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(1, 0, 1)x(1, 0, 0, 12) - AIC:-4.972700402535786\n",
      "ARIMA(1, 0, 1)x(1, 0, 1, 12) - AIC:1205.368068521908\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(1, 0, 1)x(1, 1, 0, 12) - AIC:-6.74744795548842\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(1, 0, 1)x(1, 1, 1, 12) - AIC:-3.739587418643275\n",
      "ARIMA(1, 1, 0)x(0, 0, 0, 12) - AIC:-6.828014142867332\n",
      "ARIMA(1, 1, 0)x(0, 0, 1, 12) - AIC:1162.4345650784219\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(1, 1, 0)x(0, 1, 0, 12) - AIC:-0.10457820508187154\n",
      "ARIMA(1, 1, 0)x(0, 1, 1, 12) - AIC:-1.0573502410824807\n",
      "ARIMA(1, 1, 0)x(1, 0, 0, 12) - AIC:-1.286544200734939\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(1, 1, 0)x(1, 0, 1, 12) - AIC:1152.5766588982679\n",
      "ARIMA(1, 1, 0)x(1, 1, 0, 12) - AIC:-2.794679017370564\n",
      "ARIMA(1, 1, 0)x(1, 1, 1, 12) - AIC:-1.827294864874002\n",
      "ARIMA(1, 1, 1)x(0, 0, 0, 12) - AIC:-9.745541065490242\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(1, 1, 1)x(0, 0, 1, 12) - AIC:1204.465430429391\n",
      "ARIMA(1, 1, 1)x(0, 1, 0, 12) - AIC:-5.936401913621287\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(1, 1, 1)x(0, 1, 1, 12) - AIC:-0.07802513088541829\n",
      "ARIMA(1, 1, 1)x(1, 0, 0, 12) - AIC:-4.365690247540213\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\base\\model.py:606: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals\n",
      "  ConvergenceWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\statespace\\sarimax.py:868: UserWarning: Too few observations to estimate starting parameters for seasonal ARMA. All parameters except for variances will be set to zeros.\n",
      "  ' zeros.' % warning_description)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARIMA(1, 1, 1)x(1, 0, 1, 12) - AIC:1195.0314515857538\n",
      "ARIMA(1, 1, 1)x(1, 1, 0, 12) - AIC:-1.172012093030629\n",
      "ARIMA(1, 1, 1)x(1, 1, 1, 12) - AIC:0.02217108478474472\n",
      "          pdq     pdq_x_PDQs        aic\n",
      "12  (0, 0, 1)  (1, 0, 0, 12) -16.102051\n"
     ]
    }
   ],
   "source": [
    "p =d= q = range(0, 2) \n",
    "pdq = list(itertools.product(p, d, q)) \n",
    "pdq_x_PDQs = [(x[0], x[1], x[2], 12) for x in list(itertools.product(p, d, q))] \n",
    "a=[]\n",
    "b=[]\n",
    "c=[]\n",
    "wf=pd.DataFrame()\n",
    "for param in pdq:\n",
    "    for seasonal_param in pdq_x_PDQs:\n",
    "        try:\n",
    "            mod = sm.tsa.statespace.SARIMAX(primitiveSale,order=param,seasonal_order=seasonal_param,enforce_stationarity=False,enforce_invertibility=False)\n",
    "            results = mod.fit()\n",
    "            print('ARIMA{}x{} - AIC:{}'.format(param, seasonal_param, results.aic))\n",
    "            a.append(param)\n",
    "            b.append(seasonal_param)\n",
    "            c.append(results.aic)\n",
    "        except:\n",
    "            continue\n",
    "wf['pdq']=a\n",
    "wf['pdq_x_PDQs']=b\n",
    "wf['aic']=c\n",
    "param = wf[wf['aic']==wf['aic'].min()]\n",
    "print(wf[wf['aic']==wf['aic'].min()])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "exempt-consolidation",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                                      SARIMAX Results                                      \n",
      "===========================================================================================\n",
      "Dep. Variable:                                sale   No. Observations:                   42\n",
      "Model:             SARIMAX(0, 0, 1)x(1, 0, [], 12)   Log Likelihood                  11.051\n",
      "Date:                             Sat, 20 Nov 2021   AIC                            -16.102\n",
      "Time:                                     16:51:36   BIC                            -11.898\n",
      "Sample:                                 10-01-2017   HQIC                           -14.757\n",
      "                                      - 03-01-2021                                         \n",
      "Covariance Type:                               opg                                         \n",
      "==============================================================================\n",
      "                 coef    std err          z      P>|z|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "ma.L1          1.0000    301.346      0.003      0.997    -589.628     591.628\n",
      "ar.S.L12       1.0383      0.062     16.772      0.000       0.917       1.160\n",
      "sigma2         0.0250      7.528      0.003      0.997     -14.730      14.780\n",
      "===================================================================================\n",
      "Ljung-Box (L1) (Q):                   2.47   Jarque-Bera (JB):                 2.08\n",
      "Prob(Q):                              0.12   Prob(JB):                         0.35\n",
      "Heteroskedasticity (H):               1.22   Skew:                            -0.55\n",
      "Prob(H) (two-sided):                  0.76   Kurtosis:                         3.67\n",
      "===================================================================================\n",
      "\n",
      "Warnings:\n",
      "[1] Covariance matrix calculated using the outer product of gradients (complex-step).\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n",
      "d:\\miniconda\\lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:539: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.\n",
      "  % freq, ValueWarning)\n"
     ]
    }
   ],
   "source": [
    "mod = sm.tsa.statespace.SARIMAX(primitiveSale, \n",
    "                                order=param['pdq'].values[0], \n",
    "                                seasonal_order=param['pdq_x_PDQs'].values[0],   \n",
    "                                enforce_stationarity=False,\n",
    "                                enforce_invertibility=False)\n",
    "results = mod.fit()\n",
    "print(results.summary())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "american-adobe",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2f517655f98>]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2f517666400>]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2f517655358>]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2f517666240>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '奥迪Q3汽车销量预测')"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXMAAAEHCAYAAABcCaZFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAB4pElEQVR4nO2dd3wb9fnH39rTtrxnYmdvSCCDhEAKhFB2gLBCgZYyf5SW0QIdQNhQKJsyS9gjUMJqWCmlpFkEAmTh2Bl2vLcta4+73x9nyZEt2bItW7K59+uVV+y77909OksfPff9PkMhiqKIjIyMjMywRhlvA2RkZGRkBo4s5jIyMjIjAFnMZWRkZEYAspjLyMjIjABkMZeRkZEZAchiLiMjIzMCkMVcJmpeffVVtm7dGm8zeuWHH35g165dfT7O6XQOgjWDh91ux+fzhWwTBAG73R4yJlrWr19PW1tbzOyTGVoUcpy5TDSIokhWVhZPPvkk55xzTtgxDoeD5cuX89e//pWJEyeG7Nu4cSOLFy/uk7gcTGNjI3v37mXSpElYLJbgdqvVyg033MDvf/97Jk2aBMBJJ53E5MmTeeihh/p0jZtuuokdO3bwr3/9q9exr7/+Ou+88w6rVq1CrVbjcrkQBAGj0cjxxx/PpZdeyrnnnktTUxPp6enB43w+HxqNhqOOOgqlsrsv5Xa72b17N83NzcFtb7zxBjfeeCMpKSmo1WoaGxt58MEHufPOO1EoFFitVlpaWhg3bhyCIOB0OiktLQXg1FNPxWg08txzz/Hhhx+yf//+kOvdfPPNqNVqAHJycvjoo4+YPXt2n+6bTGIge+YyEZk7dy5jxoxh+vTpzJgxg+zsbO644w6mT58e/JecnMxbb70FgNFoZObMmRx//PFUVlaGnEun06HX6yNe6+WXX6aoqAiDwcBJJ51ETU1NcN8TTzzBuHHjuPTSS8nPzw9eL3DNvLw85s2bx3/+8x9KS0v57LPPWLVqFUVFRcF/o0aNIiUlJfhlIggCLS0t2O12nE4nLS0t/OMf/+Cyyy7D5XIF/9ntdlpaWkJs9fl83HbbbUyfPh0Aj8fD7373O/7whz8AYDAY0Ol0tLW1MW7cODZv3hw8Vq1Wo1Qq8fv9+Hy+bv/8fj8GgyHkeueffz4VFRXs2LGD66+/ntTUVE466SR27tzJjh07uOmmmzjttNP4/vvv2bZtW1DIAVauXInVauWFF17g9ddfp6WlhZycHLKysrjlllsQBIEVK1bgdrvR6/VBYZcZhogyMhFYuHCh+Pnnn4vPP/+8+P7774sbNmwQly5dKvp8PvHKK68U29vbxZNPPllcvXp18BhBEMRHH31UdDgc4rXXXiump6eL6enposViERUKRfD39PR0cdOmTaIoiuL69etFpVIp/v3vfxdLSkrEBQsWiMccc4woiqK4e/duMTMzUywrKxNFURT/8Y9/iNnZ2d1sff/998WqqirxnHPOEa+66qpeX9v+/ftFpVIp6vV60Wg0ikqlUtRqtSIgAqLJZBJNJpOo0+nEsWPHhhz7m9/8RtTr9WJaWpqYnJws3nzzzWJNTY2YkpIibtmyRTz99NPF1atXizfccIN41llndbs2IP73v/8VN27c2O3fBx98IGZlZXU75osvvhAfeOABcfTo0eLOnTtD9t10003iihUrIr5WQRBEQRDE008/Xfz888/Ft956S6yurhYB0e/3i4DodrvFwsJC8bvvvuv13skkJvLXsExEAtMAhx12GKeddhqvvvoqXq+XF198kcbGRsxmMwAqlSp4jEKh4Le//S0geay/+c1vWLFiBd9//z2LFy+msbERgKKiouD5X3zxRY488kiuuuoqAO69914WLVpERUUFHo+H5557jsLCQgAOP/xwmpubEUURhULBe++9x8SJEznttNN46623+Pe//83atWvJz8/HZDIFr+H1ern33nuDU0RFRUX4/X4A1q1bx29/+1s+/vhjHnjgAerq6nj11VfD3pNPPvmEt956i61btzJlypTgdkEQ+PTTTxk3bhxerxe73c6ZZ55JampqyPF+v5/bbruNL774IuJ9v+6667ptGzVqFL/+9a+ZOXMmU6dOBeCxxx7j0Ucfxe12o9FoePvtt3E6nVx77bVcc801tLS0cMstt3DvvfeSlJQUPNfNN9/MypUrQ/7G4aZ8ZIYXspjLREShULB161beeustMjMzueqqq2hoaKC9vZ3m5mYuvfTS4DiAY489Fr1ez8SJE3nkkUdCRD4cgUf6H374gXnz5gW3B6YvduzYwYknnhj83e1288ADD3DGGWcEr1lSUsIVV1zB0UcfzSuvvMKcOXMYM2YM5eXl3aYMBEHoZsNXX33F7bffzueff05GRgZarRadThfc7/F4QqY+fv7zn7NixQoWL16MWq3G4/Hw0UcfkZeXx8KFCznuuOMAeOWVV3A6nWzevBmXywXA5MmTSU5OJiUlJeQaXfH5fLz77rtMmjSJV155BbfbzZgxY/jPf/7Dm2++GWLbqaeeyiOPPMLXX3/NjBkz+MMf/oDH4wne3+rqaubPn8/atWuDx2k0mpB1B5mRgSzmMhERRZHDDjuMG2+8kZUrV3LHHXcwb948kpOTuf322/nZz37GKaecEhTJe++9l40bN7Jq1SpAEvlHHnmEF198EY/HQ0tLC0VFRQBUVlYGBbm5uZmUlJTgdQM/HzxX/d///pelS5ei0+lCIlVuvPFGLr/8ctatW4der+fpp5/mjTfe6PZFsnDhwm7e9ieffMIpp5yC3+8nMzMzaA/ASy+9BEie9AknnMAnn3wS3HfZZZcxduxY7rvvPj755BM0Gg1tbW2YTKaQcWVlZRx66KHB34uLi2lrawt6xT1x9dVXo9FoALjrrrt45513aGlpwefz8cwzz+B0OrnpppsASfznzZtHVVUV0PmklJSUxNtvv839998f8oTg9/sxGo292iAzvJCfrWQi4vf7cblc3HnnnTz++OM89thj+P1+fvvb37J8+XJeeeWV4DiAefPmUVRUhFarBSQxv/baaykrK2PNmjWkpqZSVlZGWVkZBQUFYa8pRgiuWrhwIR9//DHjx4/n4osvDtlnsVhYtGgRAHfffXfwGoF/v//973E4HN3OefTRR/POO+9QWVmJ1+tFEAT+9Kc/cckllwQXJAVB4KOPPgo57qOPPmLDhg00NDTw3nvvsXbtWpRKJe3t7SGLwyeccELIFwR0Rt8EFmZzcnK48cYbg79nZmZy3XXXhUx73Hnnnfz4449ce+21/PKXv+TPf/4zxxxzTHC/3W5Hr9eTl5fX7TWqVCouvvji4OIqQG1tLZmZmUDn305m+CN75jIRCYTJVVdX89///pdvv/2Wo446iiOOOII1a9YEPXK32x32+EjC3HV/RkZG0Au/7777gkKTlpYWHKtSqTjiiCN4/fXXKSwspLq6OiheoiiyaNEibrzxRs4///xu19FoNGGnWIxGI0uXLu3RRoVC0W26pry8nNraWlwuF/v27SMnJweQPOEdO3YEx5WVlTFz5syQY5VKJYIgcN999wHS1I/P5wv+HhDXnuawlyxZwnHHHcfq1asBqK+vD/ly7Ppab731VlQqFU6nk7KyMpRKZXC9I/AlJ4v68EcWc5mw/PznP8dms/HGG2+gVqs5/vjj2b9/P263m3fffTdE4P7617+i1+u7CWNvAhHYP3PmTH744QdAEs/f//73AMyYMYNXX32VmpqaYNhfwOs/WOyeeuoprFZrRGHOyMigrKwsZFtVVRU+nw+tVhviPQdCFWtra4PbfD4fbrebwsJC1Go11157LWvXrqWkpITf//73qNVqrFZr0DMP4PV6u9miUqn4+c9/zuGHHx4cs3XrVhYvXhy8J+np6Xi93uBr7cqoUaOAzi/RTZs2BRdFgeAcPUhe+Ouvv86mTZsYNWoUL774IgsXLqSkpIT29vbgVE5gnl1mGBPPUBqZ4cMzzzwjTp06VXzjjTfEqVOnit98803Ycc8//7w4efJksbW1VbzuuutCQhG7/tu8ebMoiqK4efNmUalUik8++aS4fft2Ua1WiyeccIIoiqL4zTffiEajUXzzzTfF8vJy8Re/+IW4aNGi4PWKi4tFs9ksfvTRRxFtLy4uFk0mk+j1esW1a9eKgiCIxx9/vKjT6cTk5GQxJSUl+E+n04larTZkm9FoFFUqlVhRURE85+effy7OmTNHPPnkk8U333xTbGlpEVNSUkKuu2/fvm7b/va3v4mHH364OG/ePHHevHninDlzRIVCEfx93rx54qxZs8SPP/642+u49957xRtuuCH4e1lZmVhcXCzOnj1bfP7558XXXntNrK2tFZubm4NjrrrqKvGcc84RRVEUPR6POG7cOPGxxx4T8/PzxWeffTbk/HJo4vBGFnOZsPj9frGkpER89tlnxaOPPlpcuHChWFVVJYqiKP7vf/8TJ0yYIJ544oni008/LX733Xei3W4Xn3zySfHII48UV65cKR522GHiihUrxI8//ljcsWOHWFNTIzY3N4tWq1Vsa2sTKyoqxB07dohWq1UURVF85ZVXxNGjR4t6vV4cP368OHv27KAtr7/+ujhu3DgxKSlJXLZsmVhXVyeKoijW1dWJkyZNEk8++eReX8/s2bPFRx99VNRoNOK+ffsijvvjH/8oXnLJJb2e77nnnhMBcfny5aLdbhebm5tDhNvv94uff/65aLFYQo5ramoSW1pagr+3t7eLOp0u+LsgCKLNZhPdbnfItubmZvHaa68Vb7rppuB2u90uLl++XDzq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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fore = results.forecast(6)\n",
    "plt.plot(pd.DatetimeIndex(psale.index), psale.sale, label=\"原始数据\",color=\"b\")\n",
    "plt.plot(pd.DatetimeIndex(primitiveSale.index), primitiveSale.sale, label=\"阉割数据\",color=\"g\")\n",
    "plt.plot(fore.index, fore.values, label=\"预测结果\",color=\"r\")\n",
    "plt.legend(loc=\"upper left\")\n",
    "plt.title(series + \"汽车销量预测\")  # 图形标题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "naughty-analyst",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2f517734a90>]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2f517738898>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2f517777a20>]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2f5177a9518>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2f5177b6a20>]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2f5177da940>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2f5177f89b0>]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2f517810b38>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "primitiveSale.index = pd.DatetimeIndex(primitiveSale.index)\n",
    "from statsmodels.tsa.seasonal import seasonal_decompose\n",
    "decomposition = seasonal_decompose(primitiveSale)\n",
    "trend = decomposition.trend #趋势效应\n",
    "seasonal = decomposition.seasonal #季节效应\n",
    "residual = decomposition.resid #随机效应\n",
    "plt.subplot(411)\n",
    "plt.plot(primitiveSale, label=u'原始数据')\n",
    "plt.legend(loc='best')\n",
    "plt.subplot(412)\n",
    "plt.plot(trend, label=u'趋势')\n",
    "plt.legend(loc='best')\n",
    "plt.subplot(413)\n",
    "plt.plot(seasonal,label=u'季节性')\n",
    "plt.legend(loc='best')\n",
    "plt.subplot(414)\n",
    "plt.plot(residual, label=u'残差')\n",
    "plt.legend(loc='best')\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "selective-skill",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
